package com.cqupt.pojo;

public class Problem {
    private int id; // 告警的id
    private String name; // 告警的名称
    private String commonKey; //告警的键值
    private String description; // 告警的描述

    /**
     * 告警的构造函数
     * @param name 告警对应的名称
     * @param commonKey 告警对应key
     * @param description 告警的描述
     */
    public Problem(String name, String commonKey, String description) {
        this.name = name;
        this.commonKey = commonKey;
        this.description = description;
    }

    /**
     * 获取告警的名称
     * @return 告警的名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置告警的名称
     * @param name 告警的新名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取告警的id
     * @return 告警的id
     */
    public int getId() {
        return id;
    }

    /**
     * 设置告警的id
     * @param id 告警的新id
     */
    public void setId(int id) {
        this.id = id;
    }

    /**
     * 获取告警的共同键值
     * @return 告警的共同键值
     */
    public String getCommonKey() {
        return commonKey;
    }

    /**
     * 设置告警的键值
     * @param commonKey 告警的新键值
     */
    public void setCommonKey(String commonKey) {
        this.commonKey = commonKey;
    }

    /**
     * 获取告警的描述
     * @return 告警的描述
     */
    public String getDescription() {
        return description;
    }

    /**
     * 设置告警的描述
     * @param description 告警的新描述
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * 重写父类的方法，输出 Problem 的字符串形式
     * @returnvProblem 的字符串形式
     */
    @Override
    public String toString() {
        return "Problem{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", commonKey='" + commonKey + '\'' +
                ", description='" + description + '\'' +
                '}';
    }

    /**
     * 重写父类的 equals 方法
     * @param obj 告警实例
     * @return 两个告警实例是否相同
     */
    @Override
    public boolean equals(Object obj) {
        if (obj instanceof Problem) {
            Problem problem = (Problem) obj;
            return this.commonKey == problem.commonKey;
        }
        else {
            return false;
        }
    }


}
